#pragma once

struct StrView
{
	const std::string& _str;
	std::string::size_type _beg, _end;
};

template <>
size_t hHash(const StrView& dt);
std::ostream& operator<<(std::ostream& os, const StrView& view);
bool operator==(const StrView& lhs, const StrView& rhs) noexcept;
constexpr std::weak_ordering operator<=>(const StrView& lhs, const StrView& rhs) noexcept;